--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / js / MicronParser.js
Displaying Raw • Download
meshchatx/src/frontend/js/MicronParser.js 5097fb632d0fd4602aed0e09bbf2c7fc7b450a09 (5097fb63) Text, 18.20 KB
Tff7b72import Te6edf3DOMPurify Tff7b72from Ta5d6ff"dompurify"Tb4b4b4;
Tff7b72import Te6edf3BaseMicronParser Tff7b72from Ta5d6ff"micron-parser"Tb4b4b4;
Tff7b72const Te6edf3ALLOWED_URI_REGEXP Tff7b72=
Ta5d6ff/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|nomadnetwork|lxmf):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/iTb4b4b4;
Tff7b72function Te6edf3escapeHtmlForFallbackTb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3text Tff7b72== Tff7b72nullTb4b4b4) Tff7b72return Ta5d6ff""Tb4b4b4;
Tff7b72return Tffa657StringTb4b4b4(Te6edf3textTb4b4b4)
Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/&/gTb4b4b4, Ta5d6ff"&"Tb4b4b4)
Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/</gTb4b4b4, Ta5d6ff"<"Tb4b4b4)
Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/>/gTb4b4b4, Ta5d6ff">"Tb4b4b4)
Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/"/gTb4b4b4, Ta5d6ff"""Tb4b4b4)
Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/'/gTb4b4b4, Ta5d6ff"'"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/**
* Extends the published micron-parser with MeshChat / Nomad Network needs:
* partial includes, overlay style stripping, wide CJK monospace cells, and lxmf/nomadnetwork in DOMPurify.
*/
Tff7b72export Tff7b72default Tff7b72class Te6edf3MicronParser Tff7b72extends Te6edf3BaseMicronParser Tb4b4b4{
Tff7b72constructorTb4b4b4(Te6edf3darkTheme Tff7b72= Tff7b72trueTb4b4b4, Te6edf3enableForceMonospace Tff7b72= Tff7b72trueTb4b4b4) Tb4b4b4{
Tff7b72superTb4b4b4(Te6edf3darkThemeTb4b4b4, Te6edf3enableForceMonospaceTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3enableForceMonospaceTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3existing Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"micron-monospace-styles"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3existingTb4b4b4) Tb4b4b4{
Te6edf3existingTb4b4b4.Te6edf3removeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3injectMonospaceStylesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72static Te6edf3get Te6edf3PARTIAL_LINE_REGEXTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// eslint-disable-next-line security/detect-unsafe-regex -- fixed pattern, bounded input (single line)
Tff7b72return Ta5d6ff/^`\{([a-f0-9]{32}):([^`}]*)(?:`(\d+)(?:`([^}]*))?)?\}$/Tb4b4b4;
Tb4b4b4}
Tff7b72static Te6edf3isWideMonospaceCellTb4b4b4(Te6edf3segmentTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3segmentTb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(
Ta5d6ff/\p{Script=Han}|\p{Script=Hiragana}|\p{Script=Katakana}|\p{Script=Hangul}|\p{Script=Bopomofo}/uTb4b4b4.Te6edf3testTb4b4b4(
Te6edf3segment
Tb4b4b4)
Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3cp Tff7b72= Te6edf3segmentTb4b4b4.Te6edf3codePointAtTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3cp Tff7b72>= T79c0ff0x3000 Tff7b72&& Te6edf3cp Tff7b72<= T79c0ff0x303fTb4b4b4) Tff7b72return Tff7b72trueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3cp Tff7b72>= T79c0ff0xff01 Tff7b72&& Te6edf3cp Tff7b72<= T79c0ff0xff5eTb4b4b4) Tff7b72return Tff7b72trueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3cp Tff7b72>= T79c0ff0xffe0 Tff7b72&& Te6edf3cp Tff7b72<= T79c0ff0xffe6Tb4b4b4) Tff7b72return Tff7b72trueTb4b4b4;
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
T8b949e/**
* When false, forceMonospace can render a whole word in one span (Latin/Cyrillic/etc.),
* avoiding one DOM node per character (critical for large pages and resize performance).
*/
Tff7b72static Te6edf3lineNeedsPerCharCellsTb4b4b4(Te6edf3lineTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3lineTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72const Tff7b72char Tff7b72of Te6edf3lineTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3MicronParserTb4b4b4.Te6edf3isWideMonospaceCellTb4b4b4(Tff7b72charTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3cp Tff7b72= Tff7b72charTb4b4b4.Te6edf3codePointAtTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3cp Tff7b72>= T79c0ff0x2500 Tff7b72&& Te6edf3cp Tff7b72<= T79c0ff0x257fTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3cp Tff7b72>= T79c0ff0x2580 Tff7b72&& Te6edf3cp Tff7b72<= T79c0ff0x259fTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72static Te6edf3stripOverlayStylesTb4b4b4(Te6edf3htmlTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3html Tff7b72!== Ta5d6ff"string"Tb4b4b4) Tff7b72return Te6edf3htmlTb4b4b4;
Tff7b72const Te6edf3dangerousProps Tff7b72= Tb4b4b4[Ta5d6ff"zindex"Tb4b4b4, Ta5d6ff"inset"Tb4b4b4, Ta5d6ff"top"Tb4b4b4, Ta5d6ff"left"Tb4b4b4, Ta5d6ff"right"Tb4b4b4, Ta5d6ff"bottom"Tb4b4b4, Ta5d6ff"transform"Tb4b4b4]Tb4b4b4;
Tff7b72return Te6edf3htmlTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/(\s)style="([^"]*)"/gTb4b4b4, Tb4b4b4(Te6edf3matchTb4b4b4, Te6edf3spaceTb4b4b4, Te6edf3styleValueTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3declarations Tff7b72= Te6edf3styleValueTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff";"Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tffa657BooleanTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3safe Tff7b72= Te6edf3declarationsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3declTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3colon Tff7b72= Te6edf3declTb4b4b4.Te6edf3indexOfTb4b4b4(Ta5d6ff":"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3colon Tff7b72<= T79c0ff0Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72const Te6edf3rawProp Tff7b72= Te6edf3declTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3colonTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3prop Tff7b72= Te6edf3rawPropTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/-/gTb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3val Tff7b72= Te6edf3decl
Tb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3colon Tff7b72+ T79c0ff1Tb4b4b4)
Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prop Tff7b72=== Ta5d6ff"position" Tff7b72&& Tb4b4b4(Te6edf3val Tff7b72=== Ta5d6ff"fixed" Tff7b72|| Te6edf3val Tff7b72=== Ta5d6ff"sticky"Tb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3dangerousPropsTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3propTb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prop Tff7b72=== Ta5d6ff"width" Tff7b72&& Ta5d6ff/100v[wh]/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prop Tff7b72=== Ta5d6ff"height" Tff7b72&& Ta5d6ff/100v[hw]/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4) Tff7b72return Tff7b72falseTb4b4b4;
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3out Tff7b72= Te6edf3safeTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"; "Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3out Tff7b72? Ta5d6ff`Tffd700${Te6edf3spaceTffd700}Ta5d6ffstyle="Tffd700${Te6edf3outTffd700}Ta5d6ff"Ta5d6ff` Tff7b72: Ta5d6ff""Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72static Te6edf3sanitizeRenderedMicronHtmlTb4b4b4(Te6edf3htmlTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3html Tff7b72== Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3s Tff7b72= Tff7b72typeof Te6edf3html Tff7b72=== Ta5d6ff"string" Tff7b72? Te6edf3html Tff7b72: Tffa657StringTb4b4b4(Te6edf3htmlTb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3sanitized Tff7b72= Te6edf3DOMPurifyTb4b4b4.Te6edf3sanitizeTb4b4b4(Te6edf3sTb4b4b4, Tb4b4b4{
Te6edf3USE_PROFILESTff7b72: Tb4b4b4{ Te6edf3htmlTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3ALLOWED_URI_REGEXPTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72return Te6edf3MicronParserTb4b4b4.Te6edf3stripOverlayStylesTb4b4b4(Te6edf3sanitizedTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: stripOverlayStyles failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3sanitizedTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(
Ta5d6ff"DOMPurify is not installed or sanitization failed. Include dompurify or check the build."Tb4b4b4,
Te6edf3error
Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff`Ta5d6ff<p style="color: red;">DOMPurify is not installed or sanitization failed.</p>Ta5d6ff`Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e/**
* Split Micron source into blocks for WASM conversion, keeping MeshChat partial-include lines on the JS path.
*/
Tff7b72static Te6edf3splitMicronMarkupWasmSegmentsTb4b4b4(Te6edf3markupTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3markup Tff7b72== Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3lines Tff7b72= Tffa657StringTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"\n"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3segments Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72let Te6edf3buf Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3line Tff7b72of Te6edf3linesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3trimmed Tff7b72= Te6edf3lineTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3MicronParserTb4b4b4.Te6edf3PARTIAL_LINE_REGEXTb4b4b4.Te6edf3testTb4b4b4(Te6edf3trimmedTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3bufTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3segmentsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"mu"Tb4b4b4, Te6edf3textTff7b72: Te6edf3bufTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"\n"Tb4b4b4) Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3buf Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Te6edf3segmentsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"partial"Tb4b4b4, Te6edf3line Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3bufTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3bufTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3segmentsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"mu"Tb4b4b4, Te6edf3textTff7b72: Te6edf3bufTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"\n"Tb4b4b4) Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3segmentsTb4b4b4;
Tb4b4b4}
Te6edf3injectMonospaceStylesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"micron-monospace-styles"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3styleEl Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"style"Tb4b4b4)Tb4b4b4;
Te6edf3styleElTb4b4b4.Te6edf3id Tff7b72= Ta5d6ff"micron-monospace-styles"Tb4b4b4;
Te6edf3styleElTb4b4b4.Te6edf3textContent Tff7b72= Ta5d6ff`
Ta5d6ff .Mu-nl {
cursor: pointer;
}
.Mu-mnt {
display: inline-block;
box-sizing: border-box;
min-width: 1ch;
width: 1ch;
max-width: 1ch;
text-align: center;
white-space: pre;
text-decoration: inherit;
vertical-align: baseline;
line-height: 1.25;
}
.Mu-mnt-full {
display: inline-block;
box-sizing: border-box;
min-width: 2ch;
width: 2ch;
max-width: 2ch;
text-align: center;
white-space: pre;
text-decoration: inherit;
vertical-align: baseline;
line-height: 1.25;
}
.Mu-mws {
text-decoration: inherit;
display: inline-flex;
flex-wrap: wrap;
align-items: baseline;
column-gap: 0;
row-gap: 0;
gap: 0;
}
.Mu-mnt-group {
display: inline;
font-family: inherit;
white-space: pre;
text-decoration: inherit;
vertical-align: baseline;
line-height: 1.25;
}
Ta5d6ff`Tb4b4b4;
Tffa657documentTb4b4b4.Te6edf3headTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3styleElTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3convertMicronToHtmlWasmHybridTb4b4b4(Te6edf3markupTb4b4b4, Te6edf3partialContents Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3mc Tff7b72= Tffa657globalThisTb4b4b4.Te6edf3micronConvertTb4b4b4;
Tff7b72const Te6edf3segments Tff7b72= Te6edf3MicronParserTb4b4b4.Te6edf3splitMicronMarkupWasmSegmentsTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3html Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3seg Tff7b72of Te6edf3segmentsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3segTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"mu"Tb4b4b4) Tb4b4b4{
Te6edf3html Tff7b72+= Te6edf3MicronParserTb4b4b4.Te6edf3sanitizeRenderedMicronHtmlTb4b4b4(
Te6edf3mcTb4b4b4(Te6edf3segTb4b4b4.Te6edf3textTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3darkThemeTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3enableForceMonospaceTb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3html Tff7b72+= Tff7b72thisTb4b4b4.Te6edf3_convertMicronToHtmlJsTb4b4b4(Te6edf3segTb4b4b4.Te6edf3line Tff7b72+ Ta5d6ff"\n"Tb4b4b4, Te6edf3partialContentsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3htmlTb4b4b4;
Tb4b4b4}
Te6edf3_convertMicronToHtmlJsTb4b4b4(Te6edf3markupTb4b4b4, Te6edf3partialContents Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3build Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72let Te6edf3html Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3headerColors Tff7b72= Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72nullTb4b4b4, Te6edf3bgTff7b72: Tff7b72null Tb4b4b4}Tb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3headerColors Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseHeaderTagsTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: parseHeaderTags failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3plainStyle Tff7b72= Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLESTff7b72?Tb4b4b4.Te6edf3plain Tff7b72|| Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_DARKTb4b4b4, Te6edf3bgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BG Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3defaultFg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3fg Tff7b72|| Te6edf3plainStyleTb4b4b4.Te6edf3fgTb4b4b4;
Tff7b72const Te6edf3defaultBg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3bg Tff7b72|| Te6edf3plainStyleTb4b4b4.Te6edf3bgTb4b4b4;
Tff7b72let Te6edf3state Tff7b72= Tb4b4b4{
Te6edf3literalTff7b72: Tff7b72falseTb4b4b4,
Te6edf3depthTff7b72: T79c0ff0Tb4b4b4,
Te6edf3fg_colorTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3bg_colorTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3formattingTff7b72: Tb4b4b4{
Te6edf3boldTff7b72: Tff7b72falseTb4b4b4,
Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4,
Te6edf3italicTff7b72: Tff7b72falseTb4b4b4,
Te6edf3strikethroughTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3default_alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3default_fgTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3default_bgTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3radio_groupsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3partialIndexTff7b72: T79c0ff0Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3lines Tff7b72= Te6edf3markupTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"\n"Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3line Tff7b72of Te6edf3linesTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3lineOutputTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3lineOutput Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseLineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: parseLine failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3html Tff7b72+= Ta5d6ff`Ta5d6ff<span class="mu-line-parse-fallback" style="white-space:pre-wrap">Tffd700${Te6edf3escapeHtmlForFallbackTb4b4b4(Te6edf3lineTb4b4b4)Tffd700}Ta5d6ff</span><br>Ta5d6ff`Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3el Tff7b72of Te6edf3lineOutputTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3elTb4b4b4.Te6edf3classList Tff7b72&& Te6edf3elTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3containsTb4b4b4(Ta5d6ff"mu-partial"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3id Tff7b72= Te6edf3elTb4b4b4.Te6edf3getAttributeTb4b4b4(Ta5d6ff"data-partial-id"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3id Tff7b72&& Te6edf3partialContentsTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3html Tff7b72+= Te6edf3partialContentsTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3html Tff7b72+= Te6edf3elTb4b4b4.Te6edf3outerHTMLTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3html Tff7b72+= Te6edf3elTb4b4b4.Te6edf3outerHTMLTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: line output serialization failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3html Tff7b72+= Ta5d6ff`Ta5d6ff<span class="mu-line-parse-fallback" style="white-space:pre-wrap">Tffd700${Te6edf3escapeHtmlForFallbackTb4b4b4(Te6edf3lineTb4b4b4)Tffd700}Ta5d6ff</span><br>Ta5d6ff`Tb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// skip
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3html Tff7b72+= Ta5d6ff"<br>"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3MicronParserTb4b4b4.Te6edf3sanitizeRenderedMicronHtmlTb4b4b4(Te6edf3htmlTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72return Te6edf3buildTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: convertMicronToHtml failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3escaped Tff7b72= Te6edf3escapeHtmlForFallbackTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72return Te6edf3DOMPurifyTb4b4b4.Te6edf3sanitizeTb4b4b4(
Ta5d6ff`Ta5d6ff<pre class="mu-parse-fallback" style="white-space:pre-wrap">Tffd700${Te6edf3escapedTffd700}Ta5d6ff</pre>Ta5d6ff`Tb4b4b4,
Tb4b4b4{
Te6edf3USE_PROFILESTff7b72: Tb4b4b4{ Te6edf3htmlTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3ALLOWED_URI_REGEXPTb4b4b4,
Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Tff7b72return Ta5d6ff`Ta5d6ff<pre class="mu-parse-fallback" style="white-space:pre-wrap">Tffd700${Te6edf3escapedTffd700}Ta5d6ff</pre>Ta5d6ff`Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Te6edf3convertMicronToHtmlTb4b4b4(Te6edf3markupTb4b4b4, Te6edf3partialContents Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4, Te6edf3options Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3markup Tff7b72== Tff7b72nullTb4b4b4) Tff7b72return Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3markup Tff7b72!== Ta5d6ff"string"Tb4b4b4) Te6edf3markup Tff7b72= Tffa657StringTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wantWasm Tff7b72= Te6edf3optionsTb4b4b4.Te6edf3useWasm Tff7b72=== Tff7b72true Tff7b72&& Tff7b72typeof Tffa657globalThisTb4b4b4.Te6edf3micronConvert Tff7b72=== Ta5d6ff"function"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3wantWasmTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3convertMicronToHtmlWasmHybridTb4b4b4(Te6edf3markupTb4b4b4, Te6edf3partialContentsTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: WASM Micron conversion failed, using JS parser"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3_convertMicronToHtmlJsTb4b4b4(Te6edf3markupTb4b4b4, Te6edf3partialContentsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3convertMicronToFragmentTb4b4b4(Te6edf3markupTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3markup Tff7b72== Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657documentTb4b4b4.Te6edf3createDocumentFragmentTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3markup Tff7b72!== Ta5d6ff"string"Tb4b4b4) Te6edf3markup Tff7b72= Tffa657StringTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3fragment Tff7b72= Tffa657documentTb4b4b4.Te6edf3createDocumentFragmentTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3headerColors Tff7b72= Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72nullTb4b4b4, Te6edf3bgTff7b72: Tff7b72null Tb4b4b4}Tb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3headerColors Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseHeaderTagsTb4b4b4(Te6edf3markupTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: parseHeaderTags failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3plainStyle Tff7b72= Tff7b72thisTb4b4b4.Te6edf3SELECTED_STYLESTff7b72?Tb4b4b4.Te6edf3plain Tff7b72|| Tb4b4b4{ Te6edf3fgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_FG_DARKTb4b4b4, Te6edf3bgTff7b72: Tff7b72thisTb4b4b4.Te6edf3DEFAULT_BG Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3defaultFg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3fg Tff7b72|| Te6edf3plainStyleTb4b4b4.Te6edf3fgTb4b4b4;
Tff7b72const Te6edf3defaultBg Tff7b72= Te6edf3headerColorsTb4b4b4.Te6edf3bg Tff7b72|| Te6edf3plainStyleTb4b4b4.Te6edf3bgTb4b4b4;
Tff7b72let Te6edf3state Tff7b72= Tb4b4b4{
Te6edf3literalTff7b72: Tff7b72falseTb4b4b4,
Te6edf3depthTff7b72: T79c0ff0Tb4b4b4,
Te6edf3fg_colorTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3bg_colorTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3formattingTff7b72: Tb4b4b4{
Te6edf3boldTff7b72: Tff7b72falseTb4b4b4,
Te6edf3underlineTff7b72: Tff7b72falseTb4b4b4,
Te6edf3italicTff7b72: Tff7b72falseTb4b4b4,
Te6edf3strikethroughTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3default_alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3alignTff7b72: Ta5d6ff"left"Tb4b4b4,
Te6edf3default_fgTff7b72: Te6edf3defaultFgTb4b4b4,
Te6edf3default_bgTff7b72: Te6edf3defaultBgTb4b4b4,
Te6edf3radio_groupsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3partialIndexTff7b72: T79c0ff0Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3lines Tff7b72= Te6edf3markupTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"\n"Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3line Tff7b72of Te6edf3linesTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3sanitizedLine Tff7b72= Te6edf3lineTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3sanitizedLine Tff7b72= Te6edf3DOMPurifyTb4b4b4.Te6edf3sanitizeTb4b4b4(Te6edf3lineTb4b4b4, Tb4b4b4{
Te6edf3USE_PROFILESTff7b72: Tb4b4b4{ Te6edf3htmlTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3ALLOWED_URI_REGEXPTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: line sanitize failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72let Te6edf3lineOutputTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3lineOutput Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseLineTb4b4b4(Te6edf3sanitizedLineTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: parseLine failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3fallback Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"span"Tb4b4b4)Tb4b4b4;
Te6edf3fallbackTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"mu-line-parse-fallback"Tb4b4b4;
Te6edf3fallbackTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3whiteSpace Tff7b72= Ta5d6ff"pre-wrap"Tb4b4b4;
Te6edf3fallbackTb4b4b4.Te6edf3textContent Tff7b72= Te6edf3lineTb4b4b4;
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3fallbackTb4b4b4)Tb4b4b4;
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"br"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3el Tff7b72of Te6edf3lineOutputTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3elTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: appendChild failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3fallback Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"span"Tb4b4b4)Tb4b4b4;
Te6edf3fallbackTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"mu-line-parse-fallback"Tb4b4b4;
Te6edf3fallbackTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3whiteSpace Tff7b72= Ta5d6ff"pre-wrap"Tb4b4b4;
Te6edf3fallbackTb4b4b4.Te6edf3textContent Tff7b72= Te6edf3lineTb4b4b4;
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3fallbackTb4b4b4)Tb4b4b4;
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"br"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3lineOutput Tff7b72&& Te6edf3lineOutputTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// skip
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"br"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3fragmentTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4(Ta5d6ff"MicronParser: convertMicronToFragment failed"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3fragment Tff7b72= Tffa657documentTb4b4b4.Te6edf3createDocumentFragmentTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3pre Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"pre"Tb4b4b4)Tb4b4b4;
Te6edf3preTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"mu-parse-fallback"Tb4b4b4;
Te6edf3preTb4b4b4.Te6edf3styleTb4b4b4.Te6edf3whiteSpace Tff7b72= Ta5d6ff"pre-wrap"Tb4b4b4;
Te6edf3preTb4b4b4.Te6edf3textContent Tff7b72= Te6edf3markupTb4b4b4;
Te6edf3fragmentTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3preTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3fragmentTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3parseLineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3lineTb4b4b4.Te6edf3length Tff7b72> T79c0ff0 Tff7b72&& Tff7b72!Te6edf3stateTb4b4b4.Te6edf3literalTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3partialMatch Tff7b72= Te6edf3lineTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3matchTb4b4b4(Te6edf3MicronParserTb4b4b4.Te6edf3PARTIAL_LINE_REGEXTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3partialMatchTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3dest Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3path Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3refresh Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff3Tb4b4b4] Tff7b72? Tffa657parseIntTb4b4b4(Te6edf3partialMatchTb4b4b4[T79c0ff3Tb4b4b4]Tb4b4b4, T79c0ff10Tb4b4b4) Tff7b72: Tff7b72nullTb4b4b4;
Tff7b72const Te6edf3fields Tff7b72= Te6edf3partialMatchTb4b4b4[T79c0ff4Tb4b4b4] Tff7b72|| Tff7b72nullTb4b4b4;
Tff7b72const Te6edf3id Tff7b72= Ta5d6ff"partial-" Tff7b72+ Te6edf3stateTb4b4b4.Te6edf3partialIndexTff7b72++Tb4b4b4;
Tff7b72const Te6edf3div Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"mu-partial"Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-partial-id"Tb4b4b4, Te6edf3idTb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-dest"Tb4b4b4, Te6edf3destTb4b4b4)Tb4b4b4;
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-path"Tb4b4b4, Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3refresh Tff7b72!= Tff7b72null Tff7b72&& Te6edf3refresh Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-refresh"Tb4b4b4, Tffa657StringTb4b4b4(Te6edf3refreshTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3fieldsTb4b4b4) Tb4b4b4{
Te6edf3divTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-fields"Tb4b4b4, Te6edf3fieldsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3divTb4b4b4.Te6edf3textContent Tff7b72= Ta5d6ff"Loading..."Tb4b4b4;
Tff7b72return Tb4b4b4[Te6edf3divTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Tff7b72superTb4b4b4.Te6edf3parseLineTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3stateTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3forceMonospaceTb4b4b4(Te6edf3lineTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3line Tff7b72== Tff7b72null Tff7b72|| Te6edf3line Tff7b72=== Ta5d6ff""Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3MicronParserTb4b4b4.Te6edf3lineNeedsPerCharCellsTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"<span class='Mu-mnt-group'>" Tff7b72+ Te6edf3escapeHtmlForFallbackTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72+ Ta5d6ff"</span>"Tb4b4b4;
Tb4b4b4}
Tff7b72let Te6edf3out Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3charArrTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3charArr Tff7b72= Tb4b4b4[Tb4b4b4...Tff7b72new Tffa657IntlTb4b4b4.Te6edf3SegmenterTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3segmentTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4]Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3xTb4b4b4) Tb4b4b4=> Te6edf3xTb4b4b4.Te6edf3segmentTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3charArr Tff7b72= Tffa657ArrayTb4b4b4.Tff7b72fromTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3charArr Tff7b72= Te6edf3lineTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72let Tff7b72char Tff7b72of Te6edf3charArrTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3cellClass Tff7b72= Te6edf3MicronParserTb4b4b4.Te6edf3isWideMonospaceCellTb4b4b4(Tff7b72charTb4b4b4) Tff7b72? Ta5d6ff"Mu-mnt-full" Tff7b72: Ta5d6ff"Mu-mnt"Tb4b4b4;
Te6edf3out Tff7b72+= Ta5d6ff"<span class='" Tff7b72+ Te6edf3cellClass Tff7b72+ Ta5d6ff"'>" Tff7b72+ Te6edf3escapeHtmlForFallbackTb4b4b4(Tff7b72charTb4b4b4) Tff7b72+ Ta5d6ff"</span>"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3outTb4b4b4;
Tb4b4b4}
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────